home *** CD-ROM | disk | FTP | other *** search
/ Night Owl 9 / Night Owl CD-ROM (NOPV9) (Night Owl Publisher) (1993).ISO / 019a / splt_bat.zip / EDIT.BAT next >
DOS Batch File  |  1993-03-25  |  4KB  |  188 lines

  1. @ECHO OFF
  2. IF "%1"=="" GOTO LoadEdit
  3. IF NO EXIST %1 GOTO LoadEdit
  4. SET PathName=%1
  5. cls
  6. SET OldPath=%Path%
  7. PATH=%1
  8. SET UpCase=%Path%
  9. SET Path=%OldPath%
  10. echo 23HPlease wait; loading %UpCase%
  11. SET OldPath=
  12. SET UpCase=
  13. :PathSeek
  14. SET Prev=%PathName%
  15. FOR %%a IN (/%pathName%) DO SET PathName=%%a
  16. IF "\%PathName%"=="%Prev%" GOTO PathFound
  17. SET Count=%Count%x
  18. IF NOT "%PathName%"=="%Prev%" GOTO PathSeek
  19. SET FileName=%1
  20. SET PathName=
  21. GOTO SetExt
  22.  
  23.  
  24. :PathFound
  25. SET PathName=%1■
  26. SET Count=
  27. SET BackCount=
  28.  
  29. :PathLength
  30. SET Prev=%PathName%
  31. FOR %%a IN (/%PathName%) DO SET PathName=%%a 
  32. FOR %%a IN (/%Prev%) DO IF "%%a"=="\" GOTO BackSlash
  33. FOR %%a IN (/%Prev%) DO IF "%%a"=="■" GOTO FileSetup
  34. SET Count=%Count%x
  35. REM ECHO Value of PathName is %PathName%
  36. REM ECHO Value of Count %Count%
  37. GOTO PathLength
  38. :BackSlash
  39. REM ECHO VALUE OF PATHNAME IS %PathName%
  40. SET BackCount=%BackCount%x
  41. GOTO PathLength
  42.  
  43. :FileSetup
  44. SET FileName=%1
  45. SET BkCount=
  46.  
  47. :FileGet
  48. SET Prev=%FileName%
  49. FOR %%a IN (/%FileName%) DO SET FileName=%%a
  50. FOR %%a IN (/%Prev%) DO IF "%%a"=="\" GOTO Back
  51. REM ECHO Value of FileName is %FileName%
  52. GOTO FileGet
  53. :Back
  54. REM ECHO VALUE OF FileName IS %FileName%
  55. SET BkCount=%BkCount%x
  56. IF NOT "%BkCount%"=="%BackCount%" GOTO FileGet
  57.  
  58. SET TempFile=%FileName%■
  59. SET Count=
  60. :FileLength
  61. SET Prev=%TempFile%
  62. FOR %%a IN (/%TempFile%) DO SET TempFile=%%a 
  63. FOR %%a IN (/%Prev%) DO IF "%%a"=="■" GOTO PathSetup
  64. SET Count=%Count%x
  65. REM ECHO Value of TempFile is %TempFile%
  66. REM ECHO Value of Count is %Count%
  67. GOTO FileLength
  68.  
  69.  
  70. :PathSetup
  71. SET Count=%Count%x
  72. SET PathName=%1
  73. SET BkCount=
  74. SET File=
  75. SET TempFile=
  76.  
  77.  
  78. :PathGet1
  79. SET Prev=%PathName%
  80. FOR %%a IN (/%PathName%) DO SET PathName=%%a
  81. FOR %%a IN (/%Prev%) DO IF "%%a%PathName%"=="%Prev%" SET PathName=%PathName%%%a
  82. FOR %%a IN (/%Prev%) DO IF "%%a"=="\" GOTO BackAgain
  83. REM ECHO Value of PathName is %PathName%
  84. GOTO PathGet1
  85. :BackAgain
  86. REM ECHO VALUE OF PATHNAME IS %PathName%
  87. SET BkCount=%BkCount%x
  88. IF NOT "%BkCount%"=="%BackCount%" GOTO PathGet1
  89.  
  90. SET Counter=
  91.  
  92. :PathGet2
  93. FOR %%a IN (/%PathName%) DO SET PathName=%%a
  94. SET Counter=%Counter%x
  95. REM ECHO VALUE OF PATHNAME IS %PathName%
  96. IF NOT "%Counter%"=="%Count%" GOTO PathGet2
  97.  
  98. SET Counter=
  99. SET Count=
  100. SET BkCount=
  101. SET BackCount=
  102.  
  103. :SetExt
  104.  
  105. SET Ext=%FileName%
  106.  
  107. :ExtCheck
  108. SET Prev=%Ext%
  109. FOR %%a IN (/%Ext%) DO SET Ext=%%a
  110. IF ".%Ext%"=="%Prev%" GOTO ExtFound
  111. REM ECHO Value of Ext is %Ext%
  112. SET Count=%Count%x
  113. IF NOT "%Ext%"=="%Prev%" GOTO ExtCheck
  114. SET Name=%FileName%
  115. SET Ext=
  116. GOTO NoExt
  117.  
  118. :ExtFound
  119. SET Prev=
  120. SET Len=
  121. SET NewExt=%Ext%■
  122.  
  123. :FindLen
  124. FOR %%a IN (/%NewExt%) DO SET NewExt=%%a
  125. SET Len=%Len%x
  126. IF NOT "%NewExt%"=="■" GOTO FindLen
  127.  
  128. SET NewExt=
  129. SET Name=%FileName%
  130. SET NewCount=
  131.  
  132. :ChopExt 
  133. SET Prev=%Name%
  134. FOR %%a IN (/%Name%) DO SET Name=%%a
  135. FOR %%a IN (/%Prev%) DO IF "%%a%Name%"=="%Prev%" SET Name=%Name%%%a
  136. REM ECHO Value of Name is %Name%
  137. SET NewCount=%NewCount%x
  138. IF NOT "%Count%"=="%NewCount%" GOTO ChopExt
  139.  
  140. SET NewCount=
  141. SET NewLen=
  142.  
  143. :GetName
  144. SET Prev=%Name%
  145. FOR %%a IN (/%Name%) DO SET Name=%%a
  146. REM ECHO Value of Name is %Name%
  147. SET NewLen=%NewLen%x
  148. IF NOT "%NewLen%"=="%Len%x" GOTO GetName
  149. SET NewLen=
  150. SET Len=
  151.  
  152. :NoExt
  153. SET FileName=
  154. SET Count=
  155. SET Prev=
  156.  
  157. :CopyTemp
  158. COPY %1 %Name%.$$$>NUL
  159. SET Exists=1
  160.  
  161. :LoadEdit
  162. C:\DOS\EDIT %1
  163. IF "%1"=="" GOTO End
  164. IF "%Exists%"=="" GOTO End
  165.  
  166. :FilComp
  167. FC %1 %Name%.$$$>E:\TEMP$$$$.$$$
  168. FIND /N "FC: no differences encountered" < E:\TEMP$$$$.$$$ > E:\COMP$$$.$$$
  169. IF EXIST E:\TEMP$$$$.$$$ ERASE E:\TEMP$$$$.$$$
  170. COPY E:\COMP$$$.$$$ E:\COMP$$$$.$$$ > NUL
  171. IF EXIST E:\COMP$$$$.$$$ ERASE E:\COMP$$$.$$$
  172.  
  173. IF NOT EXIST E:\COMP$$$$.$$$ GOTO RenBak
  174. IF EXIST %Name%.$$$ ERASE %Name%.$$$
  175. GOTO End
  176.  
  177. :RenBak
  178. IF EXIST %Name%.BAK ERASE %Name%.BAK
  179. IF EXIST %Name%.$$$ REN %Name%.$$$ %Name%.BAK
  180. IF EXIST E:\COMP$$$$.$$$ ERASE E:\COMP$$$$.$$$
  181.  
  182. :End
  183. SET Pathname=
  184. SET Name=
  185. SET Ext=
  186. SET Exists=
  187.  
  188.